package jp.tkym.labs.store.query;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

import jp.tkym.labs.store.BeanstoreException;
import jp.tkym.labs.util.beankey.BeanKey;

public interface BeanQuery<B>{
	public BeanQuery<B> filter(BeanQueryFilter... filters);
	public BeanQuery<B> sort(BeanQuerySorter... sorters);
	public List<B> asList() throws BeanstoreException;
	public Iterator<B> asIterator() throws BeanstoreException;
	public Set<BeanKey> keySet() throws BeanstoreException;
}